<?php
/*
Autor: Jonathan Vindas Abarca
Fecha: 13/07/2012
Descripción: Este archivo contiene la declaración de la clase controladora de lineas.
Bitacora de modificaciones:
<
    Autor: 
    Fecha: 
    Descripción: 
>
*/

    function mensajeConfirmacionLineas($bandera) 
    {                
        try 
        {
            if($bandera=='Agrega')
            {
                ?>
                <script type="text/javascript">
                $().message("Se agrego la L&iacute;nea Satisfactoriamente.");
                e.preventDefault();
                $().message($("#message").val());
                </script>
                <?php
            }
            elseif ($bandera=='Modifica') 
            {            
                ?>
                <script type="text/javascript">
                $().message("Se modifico la L&iacute;nea Satisfactoriamente.");
                e.preventDefault();
                $().message($("#message").val());
                </script>
                <?php        
            }
            elseif ($bandera=='Elimina') 
            {        
                ?>
                <script type="text/javascript">
                $().message("Se elimino la L&iacute;nea Satisfactoriamente.");
                e.preventDefault();
                $().message($("#message").val());
                </script>
                <?php    
            }
            elseif ($bandera=='ExisteLinea') 
            {        
                ?>
                <script type="text/javascript">
                $().message("No se puede Borrar, existen L&iacute;neas dependientes al Embalaje.");
                e.preventDefault();
                $().message($("#message").val());
                </script>
                <?php    
            }
            elseif ($bandera=='LineaDuplicada') 
            {        
                ?>
                <script type="text/javascript">
                $().message("Esta l&iacute;nea ya existe");
                e.preventDefault();
                $().message($("#message").val());
                </script>
                <?php    
            }
            elseif ($bandera=='LineaDetalle Dependiente') 
            {        
                ?>
                <script type="text/javascript">
                $().message("Esta l&iacute;nea tiene art&iacute;culos dependientes.");
                e.preventDefault();
                $().message($("#message").val());
                </script>
                <?php    
            }
            elseif ($bandera=='SinPermisos') 
            {
                ?>
                <script type="text/javascript">
                $().message("Su usuario no posee permisos para esta acci&oacute;n.");
                e.preventDefault();
                $().message($("#message").val());
                </script>
                <?php
            }
        }
        catch (Exception $e) 
        {
            echo 'Excepción capturada: ',  $e->getMessage(), "\n";
        }
    }
    
    function mExisteLineaDetalle($bandera) 
    {
        try 
        {
            if($bandera)
            {
                ?>
                <script type="text/javascript">
                $().message("Existe un detalle para esta l&iacute;nea, no es posible eliminarla.");
                e.preventDefault();
                $().message($("#message").val());
                </script>
                <?php
            }
        }
        catch (Exception $e) 
        {
            echo 'Excepción capturada: ',  $e->getMessage(), "\n";
        }
    }
    
    function mensajeError() 
    {
        try 
        {       
            ?>
            <script type="text/javascript">                
            $().message("Hubo un problema en la transacci&oacute;n.");
            e.preventDefault();
            $().message($("#message").val());
            </script>
           <?php
        }
        catch (Exception $e) 
        {
            echo 'Excepción capturada: ',  $e->getMessage(), "\n";
        }
    }
        
    function listarLineas($codigoGuia) 
    {
        require_once '../modelos/lineasModelo.php';                
        $items=buscarTodasLineasXCodGuiaEmba($codigoGuia);
        $total_registros =sizeof($items);                    
        require 'GuiasEnvio/listarLinea.php';
    }
        
    function listarLineasPorCodigoGuia() 
    {
        /* Modicar metodo para validar permisos*/
        require_once '../modelos/guiasModelo.php';       
        require_once '../modelos/lineasModelo.php';                
        require_once 'dataControlador.php';        
        if(validarPermisos('buscarLineasPorGuia'))
        {
            $codigoGuia=$_GET['codigoGuia'];    
            //cambiamos esta linea para que utilice el metodo estandar 
            //buscarTodasLineasXCodGuiaEmba
            //$items = buscarLineasPorGuia($codigoGuia);        
            $items = buscarTodasLineasXCodGuiaEmba($codigoGuia);        
            $total_registros =sizeof($items);                    
            require 'GuiasEnvio/listarLinea.php';        
        }        
        else
        {
            $items = buscarTodosLosGuia();                    
            $total_registros =sizeof($items);                    
            require 'GuiasEnvio/listarGuia.php';
            mensajeConfirmacionLineas('SinPermisos'); 
        }        
    }
    
    function modificarLineas() 
    {                       
        require_once '../modelos/lineasModelo.php';
        require_once('FirePHPCore/FirePHP.class.php');
        $firephp = FirePHP::getInstance(true);
        $codigoGuia= $_GET['codigoGuia'];       
        $codigoEmbalaje= $_GET['codigoEmbalaje'];
        $cantidad= $_GET['txtCantidad'];
        $precioUnitario= $_GET['txtPrecioUnitario'];        
        $montoTotal=$_GET['txtMontoTotal'];                            
        $numeroLinea=$_GET['numeroLinea'];                            
        //$firephp->log($fechaNormalizada,"Fecha Normalizada");                
        //if(validarPermisos('modificarTransportista'))
        modificarLinea($codigoGuia, $codigoEmbalaje, $cantidad,$precioUnitario,$montoTotal,$numeroLinea);
        $bandera = 'Modifica'; 
        listarLineas($codigoGuia);
        mensajeConfirmacionLineas($bandera);    
    }

    function agregarLineas() 
    {
        require '../modelos/lineasModelo.php';
        $bandera = false;                
        try 
        { 
            if ($_POST['hddAccion'] == 'agregarLinea') 
            {                
                //agregarLinea($_POST['cmbGuia'], $_POST['cmbEmbalaje'], $_POST['txtCantidad'],$_POST['txtPrecioUnitario'],$_POST['txtMontoTotal']);
                $cantidad= $_POST['hddCantidadArticulos'];
                $preciounitario=$_POST['hddPrecioUnidad'];
                $montoTotal=$_POST['hddMonto'];
                agregarLinea($_POST['hddGuia'], $_POST['hddEmbalaje'], $cantidad,$preciounitario,$montoTotal);
                $bandera = 'Agrega';                
            }                                             
            $codigoGuia=$_POST['hddGuia'];
            listarLineas($codigoGuia);
            mensajeConfirmacionLineas($bandera);        
        }           
        catch (Exception $e) 
        {
            echo 'Excepción capturada: ',  $e->getMessage(), "\n";
        }       
    }
    
    function agregarLineaDesdeTabla() 
    {
        require '../modelos/lineasModelo.php';
        $bandera = false;                
        try 
        {                  
            $codigoGuia=$_GET['codigoGuia'];
            $codigoEmbalaje=$_GET['codigoEmbalaje'];
            $cantidad= $_GET['cantidad'];
            $preciounitario=$_GET['precioUnitario'];
            $montoTotal=$_GET['montoTotal'];
            //if(validarPermisos('modificarTransportista'))
            //if(encontrarLineaDuplicada($codigoGuia, $codigoEmbalaje)==false)
            //{                
                agregarLinea($codigoGuia, $codigoEmbalaje, $cantidad,$preciounitario,$montoTotal);
                $bandera = 'Agrega';                                                                                  
            //}
            //else
            //{
            //$bandera = 'LineaDuplicada';                                                                                  
            //}        
            listarLineas($codigoGuia);
            mensajeConfirmacionLineas($bandera);        
        }           
        catch (Exception $e) 
        {
            echo 'Excepción capturada: ',  $e->getMessage(), "\n";
        }       
    }
       
    function eliminarLineas() 
    {
        /* Modicar metodo para validar permisos*/
        require '../modelos/lineasModelo.php';            
        require_once 'dataControlador.php';              
        try
        {
            $codigoGuia=$_GET['codigo'];  
			//INC0055-IncidenteOrdenReporteGuiaEnvio	
			// se agrega el parametro $$numeroLinea que faltaba	
            if (encontrarDependenciaLineaDetalle($_GET['codigo'],$_GET['embalaje'],$_GET['numeroLinea'])==true)
            {        
                $bandera='LineaDetalle Dependiente';            
			}
			//INC0055-IncidenteOrdenReporteGuiaEnvio
            else 
            {
                if(validarPermisos('eliminarLineaControlador'))
                {
                    eliminarLineaControlador($_GET['codigo'],$_GET['embalaje'], $_GET['numeroLinea']);
                    $bandera='Elimina';            
                }
                else
                {
                    $bandera='SinPermisos';                      
                }                
            }    
            listarLineas($codigoGuia);
            mensajeConfirmacionLineas($bandera);        
        }
        catch (Exception $e)
        {
            mensajeError();
        }
    }
        
    function validarIdLinea() 
    {
        $id = encontrarLinea($_POST['CodGuia'],$_POST['Embalaje']);   
        return $id;
    }

    function mostrarLinea()
    {               
        require '../vistas/GuiasEnvio/agregarLinea.php';
    }
     
    function direccionarAgregarLinea()
    {
        $accion = 'agregarLinea';
        require 'GuiasEnvio/agregarLinea.php';
    }
         
    function regresarAgregarLinea()
    {
        $accion = 'agregarLinea';
        $codigoGuia = $_POST['hddCodigoGuia'];
        $codigoEmbalaje = $_POST['hddCodEmbalaje'];                
        $accion = 'agregarLinea';
        require 'GuiasEnvio/agregarLinea.php';
    }           
?>